Міністерство освіти та науки України
Національний університет “Львівська політехніка”
Лабораторна робота № 2
з курсу “Бази даних та знань”
Отримання даних та статистичної інформації
з бази даних за допомогою запитів мовою T-SQL
Львів 2009
Мета роботи: ознайомитися зі структурованою мовою запитів SQL на основі її діалекту Transact-SQL для СКБД Microsoft SQL Server 2005 та отримати навики написання SQL-запитів для здійснення вибірки даних та отримання статистичної інформації за допомогою інструментарію Management Studio.
1. Відомості про Transact-SQL
Мова Transact-SQL (чи скорочено T-SQL) – це власний діалект мови структурованих запитів (Structured Query Language – SQL), що використовується в системі керування базами даних (СКБД) Microsoft SQL Server. Мова T-SQL призначена виключно для роботи з СКБД Microsoft SQL Server, хоча і є сумісною на початковому рівні зі стандартом ANSI SQL-92. Це означає, що основні базові оператори є такими ж, як і для інших відомих СКБД: Oracle, Sybase, DB2, MySQL, PostgreSQL. Тому отримані навики написання SQL-запитів за допомогою T-SQL можуть бути використані й при роботі із цими переліченими серверами баз даних. Але при цьому слід враховувати, що в кожній реляційній СКБД використовуються різні розширення та способи підвищення продуктивності, що доповнюють вказаний стандарт та навіть виходять далеко за його рамки. Це такі засоби, як умовна обробка (IF … THEN), керуючі оператори (наприклад, цикли WHILE), змінні, засоби оброблення помилок тощо.
У загальному мова SQL поділяється на три частини:
Оператори визначення даних – DDL (Data Definition Language). Призначені для опису структури баз даних. Це такі як: CREATE (створити), ALTER (змінити), DROP (видалити).
Оператори маніпулювання даними – DML (Data Manipulation Language). Призначені для отримання, вставки, видалення чи зміни даних у базі даних. Це такі як: SELECT (вибрати), INSERT (вставити), UPDATE (обновити), DELETE (видалити).
Оператори керування доступом до даних – DCL (Data Control Language). Це такі як: GRANT (надати доступ), REVOKE (анулювати попередні права).
Цей «кістяк» є загальним для всіх існуючих діалектів мови SQL. Найбільшим по своїй структурі та можливостям серед них є оператор вибірки SELECT. Саме тому ця лабораторна робота і є зорієнтованою на написання SQL-запитів на основі оператора SELECT.
Оператор вибірки SELECT
Загальний формат.
SELECT [ DISTINCT ]
< * | перелік стовпців | формули | статистичні функції >
FROM < перелік таблиць [ псевдоніми ] >
[ WHERE < умова відбору даних > ]
[ GROUP BY < ім’я стовпця(ів) > [ HAVING < умова для групи > ] ]
[ ORDER BY < перелік стовпців | порядкові № стовпців > ] [ ; ]
SELECT – основний оператор. Після нього перераховуються стовпці, які необхідно отримати від сервера.
FROM – у цій секції вказуються таблиці, з яких необхідно отримати певні дані.
WHERE – у цій секції можна задати параметри пошуку та обмеження для вихідних даних.
GROUP BY – у цій секції можна вказати перелік стовпців, за якими необхідно згрупувати дані.
HAVING – у цій секції можна задати додаткові обмеження пошуку для створених груп.
ORDER BY – у цій секції можна вказати параметри сортування, а точніше, стовпці, за якими буде відсортований результат.
Зауваження: згідно негласного правила, прийнято писати команди та ключові слова мови SQL великими літерами, а назви імен таблиць, стовпців та відмінних від констант змінних – змішаним регістром літер, хоча така вимога для СКБД не є обов’язковою.
Повний шлях.
Повний формат звертання до таблиці виглядає так:
БазаДаних.Схема.Таблиця (Labor_SQL.Pavelchak.Classes )
Якщо вже існує підключення до потрібної бази даних, то її можна не вказувати, а вказати лише схему та таблицю
Схема.Таблиця ( Pavelchak.Classes )
Якщо таблиця створена для схеми dbo, тоді можна пропустити й цей параметр.
Таблиця ( Ships )
Тому рекомендується створювати таблиці саме із цими правами. Якщо необхідно з...